﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Auxiliar;
using Negocio.Cabelo;
using Negocio.Pele;
using Negocio.PerfilCompra;
using Negocio.Usuario;

namespace qbaproject.Usuario.Consultar
{
    public partial class consultarUsuario : System.Web.UI.Page
    {
        

        private int paginaAtual = 0;
        private string csSexo;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                carregarDdl();
            }
            

        }

        public void carregarDdl()
        {
            var obNTipoPele = new NTipoPele();
            var obNCorPele = new NCorPele();
            var obNTipoCabelo = new NTipoCabelo();
            var obNCorCabelo = new NCorCabelo();
            var obNTipoUsuario = new NTipoUsuario();
            var obNPerfilCompra = new NPerfilCompra();

            //Carregar tipo de pele
            ddlTiposPele.DataSource = obNTipoPele.pegarTiposPele();
            ddlTiposPele.DataBind();
            ddlTiposPele.Items.Insert(0, new ListItem("Selecionar o tipo de pele", "0"));

            //Carregar cor de pele
            ddlCoresPele.DataSource = obNCorPele.pegarCoresPele();
            ddlCoresPele.DataBind();
            ddlCoresPele.Items.Insert(0, new ListItem("Selecionar a cor de pele", "0"));

            //Carregar tipo de cabelo
            ddlTiposCabelo.DataSource = obNTipoCabelo.pegarTiposCabelo();
            ddlTiposCabelo.DataBind();
            ddlTiposCabelo.Items.Insert(0, new ListItem("Selecionar o tipo de cabelo", "0"));

            //Carregar cor de cabelo
            ddlCoresCabelo.DataSource = obNCorCabelo.pegarCoresCabelo();
            ddlCoresCabelo.DataBind();
            ddlCoresCabelo.Items.Insert(0, new ListItem("Selecionar o cor de cabelo", "0"));

            //Carregar tipo de usuario
            ddlPerfisCompra.DataSource = obNPerfilCompra.pegarPerfisCompra();
            ddlPerfisCompra.DataBind();
            ddlPerfisCompra.Items.Insert(0, new ListItem("Selecionar o perfil de compra", "0"));
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Usuario/Incluir/incluirUsuario.aspx");
        }

        protected void lkbPesquisar_Click(object sender, EventArgs e)
        {
            carregarGrid();
        }

        public void carregarGrid()
        {


            var obNUsuario = new NUsuario();
            
            if (rblCsSexo.SelectedValue == "F" || rblCsSexo.SelectedValue == "M") 
            {
                csSexo = rblCsSexo.SelectedItem.Value;                
            }
            else
            {
                csSexo = null;
            }

            var obListUsuario = obNUsuario.pegarUsuarios(txtNmUsuario.Text, 0, null, txtTeNome.Text, txtTeSobrenome.Text, csSexo, null, txtTeEmail.Text, null, txtTeUrl.Text, null, null, Convert.ToInt32(ddlTiposPele.SelectedValue), Convert.ToInt32(ddlCoresPele.SelectedValue), Convert.ToInt32(ddlCoresCabelo.SelectedValue), Convert.ToInt32(ddlTiposCabelo.SelectedValue), Convert.ToInt32(ddlPerfisCompra.SelectedValue),0);

            if (obListUsuario.Tables[0].Rows.Count != 0)
            {
                divMsnPesquisaSucesso.Visible = true;
                lblNumEncontrados.Text = "Foram encontrados " + obListUsuario.Tables[0].Rows.Count.ToString() + " registros.";
                divMsnPesquisaAtencao.Visible = false;
            }
            else
            {
                divMsnPesquisaSucesso.Visible = false;
                divMsnPesquisaAtencao.Visible = true;
            }

            grdResUsuario.PageSize = 15;
            grdResUsuario.AllowPaging = true;
            grdResUsuario.PageIndex = paginaAtual;
            grdResUsuario.DataSource = obListUsuario;
            grdResUsuario.DataBind();
        }

        protected void grdResUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            paginaAtual = e.NewPageIndex;
            carregarGrid();
        }

        protected void lkbSim_Click(object sender, EventArgs e)
        {
            var idUsuario = Convert.ToInt32(hdfIdUsuarioRemover.Value);
            var obNUsuario = new NUsuario();
            obNUsuario.Remover(idUsuario);
            carregarGrid();
        }

        protected void lkbNao_Click(object sender, EventArgs e)
        {
            ModalPopupRemover.Hide();
        }

        protected void grdResUsuario_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "editar":
                    var idUsuario = e.CommandArgument.ToString();
                    Response.Redirect("~/Usuario/Editar/editarUsuario.aspx?id=" + idUsuario);
                    break;
                case "remover":
                    var idUsuarioRemover = e.CommandArgument.ToString();
                    hdfIdUsuarioRemover.Value = idUsuarioRemover;
                    ModalPopupRemover.Show();
                    break;
            }

        
        }
    }
}